"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataType = void 0;
var DataType = /** @class */ (function () {
    function DataType() {
    }
    Object.defineProperty(DataType, "String", {
        get: function () {
            return { type: 'string' };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "Number", {
        get: function () {
            return { type: 'number' };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "Integer", {
        get: function () {
            return { type: 'integer' };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "Boolean", {
        get: function () {
            return { type: 'boolean' };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "Object", {
        get: function () {
            return { type: 'object' };
        },
        enumerable: false,
        configurable: true
    });
    DataType.Model = function (model) {
        return {
            $ref: model ? "#/definitions/" + model : ''
        };
    };
    Object.defineProperty(DataType, "StringArray", {
        get: function () {
            return {
                type: 'array',
                items: { type: 'string' }
            };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "NumberArray", {
        get: function () {
            return {
                type: 'array',
                items: { type: 'number' }
            };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "IntegerArray", {
        get: function () {
            return {
                type: 'array',
                items: { type: 'integer' }
            };
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataType, "ObjectArray", {
        get: function () {
            return {
                type: 'array',
                items: { type: 'object' }
            };
        },
        enumerable: false,
        configurable: true
    });
    DataType.ModelArray = function (model) {
        return {
            type: 'array',
            items: { $ref: model ? "#/definitions/" + model : '' }
        };
    };
    Object.defineProperty(DataType, "File", {
        get: function () {
            return { type: 'file' };
        },
        enumerable: false,
        configurable: true
    });
    return DataType;
}());
exports.DataType = DataType;
